1. Field of the Invention
This invention relates to a method for loading a memory of an electronic controller operating using fuzzy logic, and to an electronic controller operating in accordance with the method. More particularly, the invention relates to a method of loading a memory of an electronic controller operating using Fuzzy logic, whereby predetermined membership functions f(m) of logic variables M--defined within a so-called universe U of discourse sampled at a finite number of points m--are subjected to inference operations basically configured by IF/THEN rules with at least one front preposition and at least one rear implication. The controller also includes a central control unit provided with a memory section for storing predetermined values l of the membership functions f(m), which appear in the front or IF part of the fuzzy rules and have a predetermined degree G of truth or membership. The field of application of this invention is related to developments of artificial intelligence in connection with electronic data processing instruments based on a type of logic known as fuzzy logic.
2. Discussion of the Related Art
Fuzzy logic is winning acceptance as a technique which can provide solutions to a wide class of control problems, in relation to which such traditional techniques as those based on Boolean logic have failed to yield acceptable performance levels at a reasonable cost.
A clearer understanding of the invention calls for a brief discussion of the two principal methods of representing and modelling reality, i.e. of the types of mathematic models which can be used to define the terms of a given problem to solve. We refer in particular to those methods which are commonly used to solve problems with the aid of electronic computing instruments.
The first method provides a numerical/analytical description of reality, and is widely employed in engineering and scientific branches for all those applications where all the terms of a problem to be solved can be effectively identified. This method has had considerable influence on the architectures of current data processing instruments, but hardly suits those situations where the aspects of the problem tend to be "fuzzy" or difficult to identify, as may be the case with artificial intelligence applications.
In such situations, a modelling technique yielding a quantitative and qualitative description of the problem to be solved has proved to be the most effective, and it is there that the fuzzy logic can provide a body of rules for dealing with problems which involve uncertainty and imprecision as is typical of most human activities. In other words, fuzzy logic provides a method of modelling the "indefinite" reasoning that is typical of human mind, a reasoning which plays, however, an essential role in human ability to make decisions under conditions of uncertainty.
Fuzzy logic operates on a linguistic description of reality using a particular class of variables called language variables. The value of such variables may consist, for example, of words or phrases of any natural or artificial language. Basically, each variable is assigned a corresponding semantic meaning of the words or phrases which are used at the modelling stage of a given problem. In addition, a set of values may be associated syntactically to each variable, which are dependent on it and can take different meanings according to the context in which they are used. Such values are obtained from a primary term which represents the variable, an antonym thereof, and a series of so-called modifiers of the primary term. By way of example, assume that the name or notion "temperature" is taken to define the language variable M, and that the word "cold" is selected as a primary term for the variable M and the word "warm" as its antonym. To the primary term there may also be appended a series of so-called modifiers such as "not", "very", "more", "less", etc. (whence: not cold, very cold, colder, etc.) to complete the set of values of the variable, in an uncertain or non-univocal manner, but adequate for the peculiarities of fuzzy logic.
Each value assigned to a language variable is further represented by a so-called fuzzy set, namely a stochastic distribution function which ties each value of the variable within its corresponding domain of definition, also referred to as a universe of discourse, to a point in the range [0, 1] indicating the degree of truth or membership of the value considered. The functions which identify a fuzzy set in the universe of discourse are called membership functions f(m). For instance, a value of f(m)=0 would indicate that the point m is not a member of the fuzzy set identified by the function f, whereas a value of f(m)=1 would indicate that m is definitely a member of the fuzzy set. The aggregate of all the fuzzy sets of a language variable is called a term set.
Membership functions admit two different types of representations: an analytical representation and a vectorial representation. The former is tied to the universe of discourse and allows said domain to be mapped within a 0 to 1 range of values. The second type consists, on the other hand, of a vectorial sample representation of the membership function as obtained by splitting the universe of discourse into m points and the range [0, 1] into 1 levels.
Appropriate logic operations, called inference operations, may be carried out among the membership functions which enable to describe the performance of a system as the input parameters vary. These operations are carried out using fuzzy rules which, in general, obey to a syntax of the following type: EQU IF X IS A, THEN Y IS B
where, X is the input value, A and B are membership functions f(m) which represent the system perception, and Y is the output value.
The part of the rules before the term THEN is called the "IF part" or front part, and that after the term THEN is called the "THEN part" or rear part of the inference rule.
Among the inference rules which can be applied to the membership functions of the language variables, a so-called weight function P can be defined which provides an indication of how well the input preposition X of the IF part of a rule matches the membership function A. That is, the degree of membership of X to A can be said to be the weight of the IF part of the rule, and that weight will affect the assignment of B to Y, which forms the THEN part of the rule. The various rules affecting all the fuzzy sets which characterize a language variable to be controlled will, therefore, be activated each with a weight of its own, and will proportionally affect the THEN parts, and therefore the output value from the electronic controller operating in fuzzy logic.
Electronic instruments for data processing which perform such operations must incorporate a specific architecture, specially dedicated for the set of inference operations which constitute the fuzzy logic computational model. By virtue of these computing devices operating according to a method of representing and modelling reality which is based on fuzzy logic, it has become possible to process purely abstract concepts analytically in a manner that closely resembles human reasoning, such as the term "room temperature", for example. However, an essential prerequisite to a satisfactory result is that the membership functions of the fuzzy set be sufficiently and correctly defined within the control device. In fact, the better that definition reflects the semantics of the fuzzy concept, the more correct the rate of occurrence of a term in a rule will be, whereby the output value from the electronic controller operating using fuzzy logic can track reality more closely.
The definition or setting up of membership functions which identify the fuzzy sets within a fuzzy logic-based electronic controller has represented, heretofore, a major factor which hindered both the development of new fuzzy logic applications and the verification of the theoretical potential of the method.
In fact, when membership functions should reflect, upon their hardware implementation, the semantics of a fuzzy concept, in order to obtain the proper rate of occurrence of a term in a rule, considerable storage space must be implemented, which only makes fuzzy logic advantageous for those applications where the term set of the language variable includes a relatively small number of membership functions.
A first remedy to this drawback is that of storing just some outstanding points of a membership function, specifically those where the function changes its gradient, thereby accomplishing a drastic reduction in the memory size. However, since the fuzzy device has to effect the joining of such points in order to proceed to the fuzzy computation proper, the computation of intermediate points is bound to draw substantially on the computation capacity. Furthermore, devices based on this method have a low level of flexibility because they operate on a limited number of predetermined membership function forms. Examples of such a device are a machine called the FP-3000, available from Omron Corporation or a machine called NLX-230, available from Neural Logix Corporation. These devices operate using digital technology representing the membership function in analytical form. The digital technology additionally allows the membership functions to be represented in vectorial form, to split the universe of discourse into a finite number of points and store the respective degrees of membership of the membership functions at those points.
Outstanding advantages of this technology are a good definition of the membership functions within the control device and the extreme computational simplicity it affords in the performance of the computation operations, that is, inferences of a fuzzy logic type. However, this high computation rate occupies a substantial amount of memory space due to the fact that each membership function requires that its values at all points of the universe of discourse have to be stored. Digital methods operating on a vectorial representation of the membership functions are known as Warp or Fulcrum methods.